﻿#region NeoPatterns
// 
// NeoPatterns framework is released under LGPLv3 license.
// See http://www.opensource.org/licenses/lgpl-3.0.html for more details.
// 
// Please visit http://neopatterns.wikidot.com for more information about NeoPatterns
// 
// Copyright (c) Pascal Craponne 2008
// 
#endregion

namespace NeoPatterns.Core.Registry.Implementation
{
    /// <summary>
    /// Defines an interceptor, matching a pattern
    /// </summary>
    internal class AspectDefinition
    {
        /// <summary>
        /// Interceptor object: called on each interception
        /// </summary>
        public Ref AdvisorRef { get; private set; }
        /// <summary>
        /// Selector object: used to know when to use the interceptor
        /// </summary>
        public Ref PointcutSelectorRef { get; private set; }

        public AspectDefinition(Ref pointcutSelectorRef, Ref advisorRef)
        {
            PointcutSelectorRef = pointcutSelectorRef;
            AdvisorRef = advisorRef;
        }
    }
}